This invention relates to the field of user interfaces for visualizing, interacting with, and creating or modifying data. Grid-based views are often used to display information across two dimensions represented by grid cells arranged into one or more rows and columns. Grid-based views may include any number of grid cells in any M row by N column arrangement, where M and N are arbitrary positive integers. Each grid cell may include zero, one, or more icons, text entities, numbers, images, symbols, or other visual information, referred to generally herein as icons. Icons are generally displayed in grid cells to indicate relationships between corresponding items of data and the attributes associated with the grid's dimensions.
For example, a grid-based view might display icons representing employees in a company with one dimension representing employee ability and the other representing employee performance. Each cell in this example grid-based view represents a different combination of employee ability and performance values, and each cell contains icons representing the employees having ability and performance values associated with that cell.
One problem with grid-based visualizations is that the cells in grid-based visualizations often contain more icons than can be displayed in a space-constrained visualization. In space constrained scenarios, the amount of space allotted to an individual row, column, or cell may limit the amount of information that can be display for that particular section of the grid. The most common approach to this problem is to simply zoom the entire grid within a scrollable region, allowing the user to view more details about the section of the grid that is currently within the scrolled viewport. However, zooming into a portion of a grid makes it difficult for users to perceive the relationship between the enlarged portion of the grid with respect to the whole grid.
To address this issue of providing context, prior approaches may utilize an overview window that displays a diagram of the current zoomed view in relation to the whole view. However, even with an overview window, areas outside of the scrolled viewport are completely missing from view; all of the associated information is hidden from the user; and the user is unable to interact with these areas without scrolling them into view.
Another problem arising with space-constrained visualizations is that it is often not possible to display all of the icons placed in a grid cell or other collection or grouping at once in the space allotted for the grid cell. Prior visualizations have not been able to elegantly handle the “overflow” of icons for each cell and provide users access to their contents.
Prior visualizations often have two problems: inelegant ways to alert the user that an overflow of icons has occurred and visualizations and interfaces to the overflowed icons that are often not well integrated into the base visualization. An example of the former is simply relying on a label indicating the total count of icons within a cell and relying on the user to notice that the number of rendered icons is fewer than this number. Even a label that more explicitly indicates that a subset of icons is being rendered has the shortcoming that users often treat labels as secondary indicators in visual components. An example of the latter problem is typically directing the user to a completely separate view (e.g. a scrollable table) that contains the full set of icons, that may take the user out of context.
Even in cases where all of the icons do fit inside the on-screen space of their grid cell, it is sometimes desirable to group these individual icons into summary or group icons to provide the end user with useful aggregate information about their data.
Prior approaches to this problem typically have a few drawbacks. It is very common for the grouping to be built in to the component by the visualization designer. This is useful for giving the end user an initial summary view, but is also limiting because the end user has no control over the grouping criteria. If the user is given any control over the grouping, this is often done via controls outside of the visualization, which can be disorienting for the user. Lastly, there may not be any access to the individual icons that comprise the summary icon, except in a separate detail view, which again takes the user out of context.
Therefore, there is an unmet need for improvements to grid-based visualizations to view the icons in grid cells in detail; handling overflow when there are more icons in a grid cell than can be displayed in the allocated on-screen space; and grouping icons in grid cells to provide users with useful aggregate information.